1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.escape.testing;
18
19 import static com.google.common.escape.Escapers.computeReplacement;
20
21 import com.google.common.annotations.Beta;
22 import com.google.common.annotations.GwtCompatible;
23 import com.google.common.escape.CharEscaper;
24 import com.google.common.escape.Escaper;
25 import com.google.common.escape.UnicodeEscaper;
26
27 import junit.framework.Assert;
28
29 import java.io.IOException;
30
31
32
33
34
35
36
37 @Beta
38 @GwtCompatible
39 public final class EscaperAsserts {
40 private EscaperAsserts() {}
41
42
43
44
45
46
47
48 public static void assertBasic(Escaper escaper) throws IOException {
49
50 Assert.assertEquals("", escaper.escape(""));
51
52 try {
53 escaper.escape((String) null);
54 Assert.fail("exception not thrown when escaping a null string");
55 } catch (NullPointerException e) {
56
57 }
58 }
59
60
61
62
63
64
65
66
67
68 public static void assertEscaping(CharEscaper escaper, String expected,
69 char c) {
70
71 String escaped = computeReplacement(escaper, c);
72 Assert.assertNotNull(escaped);
73 Assert.assertEquals(expected, escaped);
74 }
75
76
77
78
79
80
81
82 public static void assertUnescaped(CharEscaper escaper, char c) {
83 Assert.assertNull(computeReplacement(escaper, c));
84 }
85
86
87
88
89
90
91
92
93
94 public static void assertEscaping(UnicodeEscaper escaper, String expected,
95 int cp) {
96
97 String escaped = computeReplacement(escaper, cp);
98 Assert.assertNotNull(escaped);
99 Assert.assertEquals(expected, escaped);
100 }
101
102
103
104
105
106
107
108 public static void assertUnescaped(UnicodeEscaper escaper, int cp) {
109 Assert.assertNull(computeReplacement(escaper, cp));
110 }
111
112
113
114
115
116
117
118
119
120
121 public static void assertUnicodeEscaping(UnicodeEscaper escaper,
122 String expected, char hi, char lo) {
123
124 int cp = Character.toCodePoint(hi, lo);
125 String escaped = computeReplacement(escaper, cp);
126 Assert.assertNotNull(escaped);
127 Assert.assertEquals(expected, escaped);
128 }
129 }